package thisTest;
/*
1.this可以使用实例方法，不能使用在静态方法中
2.this关键字大部分情况可以省略，什么时候不能省略呢？
3.this在实例方法和构造方法中用来区分实例变量和局部变量
4.新语法：通过当前的构造方法去调用另一个本类的构造方法，可以使用以下语法格式 this(实际参数列表)
 对于this()的调用，必须出现在构造方法中第一个语句
 */
public class ThisTest2 {
    public static void main(String[] args){
        Student stu = new Student(1,"张三");
        Student stu1 = new Student();
        System.out.println(stu.getNo()+" "+stu.getName());
        System.out.println(stu1.getNo()+stu1.getName());
    }
}
class Student{
    private int no;
    private String name;
    public Student(){
        this(2,"李四");  //通过当前构造方法调用本类另一个构造方法
    }
    public Student(int no,String name){
        this.no = no;       //为增强可读性，形参中的变量名建议和实例变量同名
        // 如果这里省略this. jvm将会把前面的no识别为局部变量，无法完成赋值操作
        this.name = name;
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
